モジュール詳細:黄色暗号

「黄色い歓声が聞こえてくるよ!」 - そんなこと暗号は決して言わない。

モジュールは、3つのディスプレー、キーボード、2つの矢印、及び現在のページを表示するボタン(送信ボタン)で構成されている。

右の矢印を押すと、次のページに移動できる。左の矢印を押すと前のページに移動できる。ページは全部で2ページある。

ページ1には、上のディスプレーに6文字の暗号化された単語、真ん中と下のディスプレーに暗号化された数字が表示される。

ページ2には、上のディスプレーに別の暗号化された数字、真ん中のディスプレーに8文字の単語、下のディスプレーにダッシュ(-)で区切られた4つの数字が表示される。

以下のルールに従って単語を解読する。

ステップ1:モービット暗号

最初に必要なことは、ページ1の真ん中と下及びページ2の上のディスプレーに表示された、3つの暗号化された数字を復号することである。3つの数字を記載された順に連結させる。

次にページ2の真ん中のディスプレーに表示された単語を取得し、単語の下に、アルファベットの昇順になるように1から8の番号を記入する。同率の英字がある場合、更にそれを読み順で振る。例:OPTIMISM -> 56813274

そして、8桁のキーの真下に以下の文字列を記入する。

...---xx
.-x.-x.-

今あるはずのものは、それぞれの数字がその下の記号に変換されて示されるキーである。

暗号化された数字の全体を取得し、鍵を使用してドットとダッシュとXに変換する。これをモールス信号として読む。Xは英字同士のスペースを示す。

モールス信号表

これで復号された単語が手に入るはずである。これは、次のステップで使用するキーワードとなる。

OPTIMISM
56813274
...---XX
.-X.-X.-

6 8 8 6 4 6 8 2 5 4 3 4 8 | . - . x . x . - x - . - . x - x . . x - - - x - . x | R E A C T I O N

ステップ2:トライフィド暗号

まずキーを作成する必要がある。そのためには、ステップ1の復号されたキーワードを取得し重複する英字の2文字目以降を削除する。アルファベット全体の文字列を取得し、キーワードに表示された英字を削除する。

バッテリーの本数が奇数の場合、キーワードの末尾にアルファベットの文字列を配置する。そうでない場合、キーワードの先頭にアルファベットの文字列を配置する。

最後に、キーの真下に以下の段を配置する。

11111111122222222233333333
11122233311122233311122233
12312312312312312312312312

ページ1の上のディスプレーにある暗号化された単語に対して、上記の先程作成したキーを用いて各英字を3桁の数字に変換する。その後、各段に6つの数字が入るようにその数字を分割する。

数字を上から下、左から右へに読むことで新たな数列を獲得する。それから、先程作成したキーを用いて各3桁ごとにそれを英字に戻す。

結果の文字列が新たな暗号化された単語となる。

BDFGHJKLMPQSUVWXYZREACTION
11111111122222222233333333
11122233311122233311122233
12312312312312312312312312

EEKZPE -> 312 312 131 233 211 312

312312
131233
211312

312 131 211 323 131 232 -> EKPIKY

ステップ3: ヒル暗号

ここでは、ステップ2の復号された暗号化された単語とページ2の下のディスプレーにある4つの数字が必要になる。数字は「A-B-C-D」のように読む。

まず、方程式の逆数Nを求める必要がある。方程式は次の通りとする:N((AD - BC) % 26) % 26 = 1

Nを求めたら、4桁の数字を次のように配置する。

D-B
-CA

各数字にNを掛け、モジュロ26を求める(0から25の範囲になるまで、26を繰り返し引く)。

暗号化された単語をペアに分割する。各ペアに対して以下の手順に従う。

  • 両方の英字を、アルファベット上の位置の数字に変換する。
  • 一つ目の数字に左上の数字を掛ける。
  • 二つ目の数字に右上の数字を掛ける。
  • 二つの数字を合計し、モジュロ26を求め、それを英字に戻すと最初の英字を獲得できる(Z = 0)。
  • 一つ目の元の値(乗算する前の値)に左下の数字を掛ける。
  • 二つ目の元の値(乗算する前の値)に右下の数字を掛ける。
  • 二つの数字を合計し、モジュロ26を求め、それを英字に戻すと二番目の英字を獲得できる(Z = 0)。

結果の文字列が、復号された単語となる。

74
2521

N((7 * 21) - (4 * 25)) % 26 = 1 => N(47) % 26 = 1 => N(21) % 26 = 1 => 5(21) % 26 = 1

21-4* 5 =105-20% 26 =16
-257* 5 =-12535% 26 =59

EK -> 5 11
PI -> 16 9
KY -> 11 25
(1 * 5) + (6 * 11) % 26 = 19 => S
(5 * 5) + (9 * 11) % 26 = 20 => T
(1 * 16) + (6 * 9) % 26 = 18 => R
(5 * 16) + (9 * 9) % 26 = 5 => E
(1 * 11) + (6 * 25) % 26 = 5 => E
(5 * 11) + (9 * 25) % 26 = 20 => T

復号された単語を取得したら、それを送信する。入力を開始すると、全てのディスプレーが暗転し下のディスプレーに入力された文字が表示される。

入力を消去するには、いずれかの矢印をクリックする。ページが移動し、入力した文字列が消去される。6文字を超える入力はできないようになっている。

入力に問題がなければ、「SUB」と書かれたボタンを押して、回答を送信する。ミスが記録された場合、モジュールの最初のページに戻るが、暗号の再生成はされない。